package com.nine.common.pojo;



import java.io.Serializable;

import java.time.LocalDateTime;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;


/**
* 
* @TableName acl_role
*/
@Data
@ApiModel(value="Role对象", description="")
@EqualsAndHashCode(callSuper = false)
@TableName(value = "acl_role")
public class Role implements Serializable {

    /**
    * 角色id
    */
    @TableId(value = "id",type = IdType.AUTO)
    @ApiModelProperty("角色id")
    private String id;
    /**
    * 角色名称
    */


    @ApiModelProperty("角色名称")
    @TableField(value = "role_name")
    private String roleName;
    /**
    * 角色编码
    */

    @ApiModelProperty("角色编码")
    @TableField(value = "role_code")
    private String roleCode;
    /**
    * 备注
    */

    @ApiModelProperty("备注")

    private String remark;
    /**
    * 逻辑删除 1（true）已删除， 0（false）未删除
    */

    @ApiModelProperty("逻辑删除 1（true）已删除， 0（false）未删除")
    @TableField(value = "is_deleted")
    private Integer isDeleted;
    /**
    * 创建时间
    */

    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    //服务与服务之间调用时，如果传递的对象中包含时间类型，则出现错误
    @JsonSerialize(using = LocalDateTimeSerializer.class)
    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
    @TableField(value = "gmt_create",fill = FieldFill.INSERT)

    private LocalDateTime gmtCreate;
    /**
    * 更新时间
    */

    @ApiModelProperty(value = "更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonSerialize(using = LocalDateTimeSerializer.class)
    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
    @TableField(value = "gmt_modified",fill = FieldFill.INSERT_UPDATE)

    private LocalDateTime gmtModified;



}
